jjzjj

java - SSL异常 : SSL peer shut down incorrectly

全部标签

ruby-on-rails - 如何正确捕获 Controller 操作中的异常?

有如下代码:defindex@posts=User.find_by(login:params[:user_id]).postsend如您所见,如果没有用户登录,此代码会生成异常(无指针异常)。我怎样才能捕获这个异常并正确处理它?我知道如何在Ruby中捕获异常,但我想知道如何以良好的Rails风格来做。同样的问题可能发生在不同的Controller中——也许我应该创建一个Action包装器,捕获异常并呈现500错误? 最佳答案 最简单的方法是使用ApplicationController的rescue_from:classApplic

ruby - 如何让 ruby​​ 的 xmlrpc 客户端忽略 SSL 证书错误?

在ruby​​中使用xmlrpc/client访问XML-RPC服务时,如果服务器证书无效,它会抛出OpenSSL::SSL::SSLError。我怎样才能让它忽略这个错误并继续连接? 最佳答案 原来是这样的:xmlrpc=::XMLRPC::Client.new("foohost")xmlrpc.instance_variable_get(:@http).instance_variable_set(:@verify_mode,OpenSSL::SSL::VERIFY_NONE)这适用于ruby​​1.9.2,但显然是在探究内部结构

ruby-on-rails - Ruby无一异常(exception)地获得回溯

我有一个RubyonRails应用程序,其中一个模型的验证失败。对于此验证可能失败的地方,代码库有不同的入口点。我有兴趣弄清楚它是从哪里来的。由于这是一个简单的验证方法,因此不涉及任何异常,我只是从方法中返回false并且保存失败。目前是否还可以记录回溯以查明此验证源自哪个服务/路由,以便我可以查看是什么导致此对象的状态发生更改以使其验证失败? 最佳答案 你可以试试caller():deffoo2putscallerenddeffoofoo2#line5endfoo#line7结果:test.rb:5:in`foo'test.rb:

ruby-on-rails - 强制 Rails 3 动态查找器抛出 RecordNotFound 异常?

是否可以强制Rails动态查找器在找不到结果时抛出ActiveRecord::RecordNotFound异常而不是返回nil?例如,如果名称为“Nuka–Cola”的饮料不存在:@not_found=Beverage.find_by_name('Nuka–Cola')而不是拥有@not_found==nil可以吗.find_by_name('Nuka–Cola')方法调用抛出ActiveRecord::RecordNotFound异常?或者我是否必须检查nil并手动抛出异常? 最佳答案 使用bang版本。@not_found=Be

ruby-on-rails - Rails SSL 问题 : (https://example. com) 与 request.base_url (http ://example. com) 不匹配

我刚刚在我的网站上安装了SSL证书。不幸的是,它破坏了登录功能。在网站上提交登录表单后,它只是重定向到主页。检查Rails日志显示此错误:(https://example.com)didn'tmatchrequest.base_url(http://example.com)这是我的虚拟主机文件。我想我需要以某种方式强制使用SSL?ServerNameexample.comServerAliaswww.example.comRedirectpermanent/https://example.com/ServerAdminhello@example.comServerNameexample

Ruby,哪个异常最适合处理未设置的环境变量?

我编写的脚本在启动时运行,需要设置环境变量,但是Ruby的Exceptions,是最好的?我使用了LoadError,我只是想尽可能具有描述性并遵循适当的约定。其次,除了检查环境变量的长度外,我找不到其他方法来查看是否设置了环境变量,但这似乎不太优雅。beginraiseLoadErrorifENV['FOO'].to_s.length==0system"openhttp://example.com/"+ENV['FOO']rescueException=>eputs"=>#{e}FOOenvironmentvariablenotset"end 最佳答案

ruby-on-rails - 为什么在安装 Rails 时出现 OpenSSL::SSL::SSLError?

当我运行'sudogeminstallrails'时,出现此错误:ERROR:Whileexecutinggem...(OpenSSL::SSL::SSLError)SSL_connectSYSCALLreturned=5errno=0state=SSLv3readserversessionticketA顺便说一句,我正在运行Ruby版本1.9.3p0、Gem版本2.0.3和OpenSSL版本OpenSSL1.0.1。有什么建议吗? 最佳答案 请尝试以下命令根本原因1)过时的开放式SSL$rvm-v$rvmgethead2)过时的包

ruby-on-rails - 无法访问 RubyGems - 可能是由于 SSL?

这个问题在这里已经有了答案:SSL_connectreturned=1errno=0state=SSLv3readservercertificateB:certificateverifyfailed(37个答案)关闭7年前。这里是新的RubyonRails开发人员,只是尝试安装和设置。我正在关注thisguide关于如何开始。但是,当我转到3.2创建博客应用程序时,我在运行railsnewblog时遇到了问题。当我尝试这样做时,我收到一条错误消息Anerroroccurredwhileinstallingrake10.4.2,andBundlercannotcontinue.Makes

ruby-on-rails - 可以在 Thread::handle_interrupt block 之外异步处理 ruby​​ 异常吗?

乍一看,我以为新的ruby​​2.0Thread.handle_interrupt会解决我所有的异步中断问题,但除非我弄错了,否则我无法让它做我想做的事(我的问题在最后和标题中)。从文档中,我可以看到如何避免在某个block中接收中断,将它们推迟到另一个block。这是一个示例程序:duration=ARGV.shift.to_it=Thread.newdoThread.handle_interrupt(RuntimeError=>:never)do5.times{putc'-';sleep1}Thread.handle_interrupt(RuntimeError=>:immedia

Ruby Sinatra 在没有 PEM 和 OpenSSL::SSL::VERIFY_NONE 的情况下创建发布请求

我尝试使用SSL创建POST请求,但没有OpenSSL::SSL::VERIFY_NONE,因为它打开了安全攻击并且没有PEM证书。但是我遇到了问题,我发送POST请求的ruby​​代码:post'/test/test1'docross_originpost_data=request.body.readres_Data=JSON.parse(post_data)userName=res_Data['username']@responseFromServer=''uri=URI('https://test.com/test1')Net::HTTP.start(uri.host,uri.p